home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Language/OS - Multiplatform Resource Library
/
LANGUAGE OS.iso
/
et
/
et3_0-a1.lha
/
et3
/
src
/
Box.h
< prev
next >
Wrap
C/C++ Source or Header
|
1992-04-27
|
2KB
|
75 lines
#ifndef Box_First
#ifdef __GNUG__
//pragma once
#pragma interface
#endif
#define Box_First
#include "CompVObject.h"
struct rcinfo;
//---- Box ---------------------------------------------------------------------
class Box: public CompositeVObject {
protected:
Point colsrows, gap;
VObjAlign align;
protected:
void getGrid(Point &rc, rcinfo*);
Metric getMinSize(Point &rc, rcinfo*);
void expand(Point &rc, rcinfo *rci, Point &g, Point &r);
int expandCnt();
public:
MetaDef(Box);
Box(int id, Point cr, Point gap, VObjAlign);
Box(int id, Point cr, Point gap, VObjAlign, VObject*, ...);
Box(int id, Point cr, Point gap, VObjAlign, SeqCollection*);
Box(int id, Point cr, Point gap, VObjAlign, va_list);
void SetGap(Point g);
Point GetGap()
{ return gap; }
void SetAlign(VObjAlign a);
VObjAlign GetAlign()
{ return align; }
Point GetColsRowsSize()
{ return colsrows; }
void SetColsRowsSize(Point cr);
Point ColsRowsSize();
void SetOrigin(Point at);
void SetExtent(Point e);
Metric GetMinSize();
void DrawAll(Rectangle r, bool highlight);
OStream& PrintOn(OStream&);
IStream& ReadFrom(IStream&);
};
//---- HBox --------------------------------------------------------------------
class HBox: public Box {
public:
MetaDef(HBox);
HBox(Point gap, VObjAlign);
HBox(Point gap, VObjAlign, VObject*, ...);
HBox(Point gap, VObjAlign, SeqCollection*);
};
//---- VBox --------------------------------------------------------------------
class VBox: public Box {
public:
MetaDef(VBox);
VBox(Point gap, VObjAlign);
VBox(Point gap, VObjAlign, VObject*, ...);
VBox(Point gap, VObjAlign, SeqCollection*);
};
#endif